using LiJ.Common.Core;
using System;

namespace LiJ.Framework.OAuth
{
	/// <summary>
	///  Oauth相关配置信息
	/// </summary>
	public static class WxOauthConfigProvider
	{
		/// <summary>
		///   当前模块名称
		/// </summary>
		public static string ModuleName
		{
			get;
			set;
		} = "social_center";


		/// <summary>
		/// 默认的配置AppKey信息
		/// </summary>
		public static AppConfig DefaultConfig
		{
			get;
			set;
		}

		/// <summary>
		/// 当 OperateMode = ByAgent 时，
		///   调用此委托 获取第三方代理平台自身的 AccessToken 
		///   接口位于 Official下的 WxAgentAuthApi（WxAgentBaseApi） 中
		/// </summary>
		public static Func<AppConfig, string> AgentAccessTokenFunc
		{
			get;
			set;
		}

		/// <summary>
		///  设置上下文配置信息
		/// </summary>
		/// <param name="config"></param>
		public static void SetContextConfig(AppConfig config)
		{
			BaseConfigProvider<AppConfig, WxOauthBaseApi>.SetContextConfig(config);
		}
	}
}
